package net.oschina.thrift.client.support.pool.factory;

import net.oschina.thrift.client.support.pool.PooledTServiceClient;
import net.oschina.thrift.client.support.pool.TSConfigProvider;
import org.apache.commons.pool2.PooledObjectFactory;
import org.apache.thrift.TServiceClient;
import org.apache.thrift.TServiceClientFactory;

/**
 * @author dw_xiajiqiu1
 * @time 2017/6/19 10:13
 */
public interface TClientPooledObjectFactory extends PooledObjectFactory<PooledTServiceClient> {

    TSConfigProvider getConfigProvider();

    void setConfigProvider(TSConfigProvider configProvider);

    TServiceClientFactory<TServiceClient> getClientFactory();

    void setClientFactory(TServiceClientFactory<TServiceClient> clientFactory);
}
